home *** CD-ROM | disk | FTP | other *** search
/ MacHack 1997 / MacHack 1997.toast / Hacks / Hacks ’96 / Audio dcmds / Audio CD dcmds.sit / Audio CD dcmds.π / Think Put Lib source / PutSDecTo.c < prev    next >
C/C++ Source or Header  |  1994-08-31  |  572b  |  32 lines

  1.     extern    short            __putMark;
  2.  
  3. void PutChar(char c);
  4. void PutText(const char* s, int len );
  5. void __DecToText (unsigned long dec, char* str );
  6. void PutSpacesTo(int endpos);
  7.  
  8. void PutSDecTo(signed long i, int endpos)
  9. {
  10.         Boolean     isNeg;
  11.         int         start, n = 0;
  12.         char*     str = "0000000000";
  13.     
  14.     if ( isNeg = ( i < 0 ) )
  15.         i = -i;
  16.     
  17.     __DecToText (i, str );
  18.     
  19.     while ( str[n] == '0' && n<9 )
  20.         n++;
  21.     
  22.     start = endpos - (10-n);
  23.     
  24.     if ( isNeg ) start--;
  25.     
  26.     if ( start >= __putMark )
  27.     PutSpacesTo( start-1 );
  28.     
  29.     PutChar( '#' );
  30.     if ( isNeg ) PutChar( '-' );
  31.     PutText( &str[n], 10-n );
  32. }